package org.wangchaocheng.cloudgallery.api.user;

import org.wangchaocheng.cloudgallery.commond.user.RoleSaveCmd;
import org.wangchaocheng.cloudgallery.dto.common.PageDTO;
import org.wangchaocheng.cloudgallery.dto.user.RoleDTO;
import org.wangchaocheng.cloudgallery.query.user.RolePageQry;

/**
 * 角色服务
 *
 * @author wangchaocheng
 * @date 2025/04/07
 */
public interface RoleServiceI {

    /**
     * 保存
     *
     * @param cmd 命令
     */
    void save(RoleSaveCmd cmd);

    /**
     * 根据id查询角色
     *
     * @param roleId 角色id
     * @return {@link RoleDTO}
     */
    RoleDTO findById(Long roleId);

    /**
     * 分页查询角色
     *
     * @param qry 查询
     * @return {@link PageDTO}<{@link RoleDTO}>
     */
    PageDTO<RoleDTO> listPageRole(RolePageQry qry);
}
